home *** CD-ROM | disk | FTP | other *** search
- ***************************************************************
- * *
- * This file contains the update notes on the textfield.gadget *
- * *
- ***************************************************************
-
- Version 3.0
- -----------
-
- NEW:
-
- - The autodoc (and guide file) has been restructured into many more
- sections so that pertinent information can be found more quickly.
-
- - TEXTFIELD_TabSpaces is a new tag that when set to 0 does nothing,
- but when set to a number greater than 0 sets how many spaces are
- inserted at the cursor position when the TAB key is pressed.
-
- - TEXTFIELD_NonPrintChars is a new tag that allows all characters
- into the text buffer in case you have a font that makes use of
- character position other than just Latin 1 printable. See the
- autodocs for more information.
-
- - TEXTFIELD_GetCopyright() is a new function in the library that
- returns a copyright string ready to use in a requester. See the
- autodocs and example program for more information on how to use
- it.
-
- - Now when you hold the SHIFT key and click in the gadget, text is
- marked from the current cursor position to the place you clicked.
-
- - You can double-click to mark whole words, or check the docs for
- what happens when you don't click on words.
-
-
- FIXED:
-
- - One copy of the 2.2 version made it out with a library version of
- 2.1. A replacement version was made, but did not get picked up.
- The library version is correct in this version.
-
- - The fix to speed up clipboard functions in 2.x ended up not
- freeing memory. It's all fixed now.
-
-
- Version 2.2
- -----------
-
- NEW:
-
- - There is now support for HSPascal in the directory of the same
- name.
-
-
- FIXED:
-
- - It seems that in repairing the delete bug in 2.1 I missed some
- other serious problems. Backspace after two or more returns now
- works.
-
- - Minor: I also left out the main Textfield.info in the 2.1 archive.
-
-
- Version 2.1
- -----------
-
- FIXED:
-
- - To scroll you had to be more than one font height away from the
- top or bottom of the gadget. You only have to be outside the
- gadget now.
-
- - Pasting into the gadget is much faster.
-
- - A serious bug with ALT BACKSPACE has been repaired. The bug would
- make it look like the computer was locked up, but really if you
- waited long enough, you could get things back, but it was nasty.
- In fact this is the first serious bug.
-
-
- Version 2.0
- -----------
-
- NEW:
-
- - The TextFieldAuto.c and <proto/textfield.h> now contain the
- TextFieldBase like before, and also the TextFieldClass. This
- keeps the opening and getting of the class hidden for a simpler
- API. (If you already had a TextFieldClass variable of your own,
- sorry, but you can just remove yours now.) (SAS/C applicable)
-
- - There are now keyboard commands to delete words at a time: Alt-
- Backspace deletes a word at a time to the left of the cursor,
- starting at the current cursor position (if you started at the
- middle of a word, it deletes to the beginning of the word, like
- you would think), Alt-Delete deletes a word at a time to the right
- of the cursor, starting at the current cursor position (again, if
- you are in the middle of a word, it only deletes the last part).
-
- - There is a real line delete command now: CTRL-x. It deletes
- everything on the line. It's not a command to delete all
- characters between to CRs, though. It's a visual line delete, not
- conceptual line delete.
-
- - Now when you click and drag to scroll the text display, the
- further you are away from the actual gadget bounds, the faster it
- will scroll.
-
- - TEXTFIELD_ReadOnly is a new attribute that gives the user a read
- only mode, but the user can still highlight text to use the
- clipboard. The old way of GA_Disabled and TEXTFIELD_NoGhost can
- still be used for a read only mode without clipboard support. It
- is important to know that the client (program using the gadget)
- can still add or delete text with TEXTFIELD_Text and
- TEXTFIEL_InsertText. See the autodoc for more details. There are
- issues discussed about which keyboard events get passed on to the
- application.
-
- - TEXTFIELD_Modified is a new attribute that allows you to tell
- if the text in the gadget has been modified in any way. It
- to FALSE at creation time, but can be set or read at any time.
- See the autodoc for more details
-
- - TEXTFIELD_AcceptChars is a new atrribute that allows you to set
- specifically which characters you will allow in your instance of
- a textfield gadget. Non-printable characters are still filtered
- for you as usual. These characters may not be accepted if they
- are also included in the rejection characters. Also see
- TEXTFIELD_RejectChars. And check the autodoc for more details.
-
- - TEXTFIELD_RejectChars is a new attribute that allows you to set
- specifically which characters to not allow in your instance of a
- textfield gadget. Non-printable characters are still automatically
- rejected. Characters listed here are always rejected. Also see
- TEXTFIELD_AcceptChars. Check the autodoc for more details.
-
- - TEXTFIELD_PassCommand is a flag that if TRUE will cause the gadget
- to pass Right Amiga key sequences on to the application if the
- gadget does not use it. If FALSE, the gadget just eats the events
- like it always has. When this is TRUE and a Right Amiga key
- command is received that the gadget does not use, the gadget is
- forced to become inactive (not disabled).
-
- - TEXTFIELD_LineLength lets you get a particular line size (the
- number of characters on that line). You pass the line you want
- and that value gets replaced by that line's length. See the autodoc
- for some issues when using this.
-
- - TEXTFIELD_SelectSize lets you turn on highlighting and set the
- number of character to be highlighted. It's always the number of
- characters from the current cursor position. If you pass 0, then
- highlighting is turned off. You can also get this attribute: 0
- for no highlighting, otherwise returns the number of characters
- highlighted.
-
- - TEXTFIELD_MaxSizeBeep allows you to turn on beeping (DisplayBeep())
- if text is entered when the buffer is full (buffer size equals the
- size you passed to TEXTFIEL_MaxSize).
-
- - TEXTFIELD_DeleteText allows you to delete text at the current
- cursor position. Only the size needs to be passed. This gives
- closure to the text insertion functions.
-
- - GA_IntuiText allows you to give the gadget a list of IntuiTexts
- that are rendered relative to the gadget's upper left corner.
-
- /* MENU COMMANDS */
-
- The following are implemented so that programmers can put them in
- a menu to give the user a visual interface to the RAMIGA keys.
-
- - TEXTFIELD_Copy if text is highlighted, this will copy it to the
- clipboard. This command is just like RAMIGA-c when the gadget is
- active.
-
- - TEXTFIELD_CopyAll this always copies all the text to the clipboard.
- This command does not affect the state of the gadget.
-
- - TEXTFIELD_Cut if text is highlighted, this will erase the text and
- put it on the clipboard. This command is just like RAMIGA-x when
- the gadget is active.
-
- - TEXTFIELD_Paste pastes text from the clipboard to the current
- cursor position. If there was any highlighted text, it is deleted
- first. If you need to make sure that text is not highlighted first
- then do set of TEXTFIELD_SelectSize, 0. This command is just like
- RAMIGA-v when the gadget is active.
-
- - TEXTFIELD_Erase will remove all text from the gadget and place it
- in the undo buffer. This command is just like issuing RAMIGA-e
- when the gadget is active.
-
- - TEXTFIELD_Undo will paste from the undo buffer into the gadget,
- just as if the user had hit RAMIGA-u when the gadget is active.
-
-
- FIXED:
-
- - In V1.2, if you used the ActivateGadget() function on this gadget
- it would get put into highlight mode, and therefore the first
- typed key would be lost.
-
- - In previous versions, if you had TEXTFIELD_Partial on, the partial
- line would flicker when editing in the gadget.
-
- - In previous versions, the TEXTFIELD_Text attribute did not cause
- the cursor to move to the beginning. It now does.
-
- - TEXTFIELD_ClipStream2 now has a synonym: TEXTFIELD_UndoStream. The
- new name is easier to remember, but the old name can still be used.
-
- - GA_Image used to be offset from the upper left corner of the
- gadget's text box, not the upper left corner of the gadget itself.
- It's now fixed. (Only applies if border was set to something.)
-
- - Apparently there is a bug in RectFill() in pre-3.0 OSes. I've
- taken measures not to be bit by the bug, which could have shown up
- in previous versions of the gadget.
-
- - There was a major effort on my part to update the autodoc to better
- represent the features of the gadget. It seems that I had really
- only made a sparse effort before, and I apologize. Each part of the
- main documentation has a section title now. The document has grown
- by 16K. I also apologize if you hate reading docs. And I also
- apologize if you hate apologies.
-
- - A bug existed in previous versions that would allow you to have an
- active textfield gadget even if it was disabled. Specifically, if
- you called ActivateGadget() on a disabled gadget, the gadget would
- go active anyway. (I thought the OS did that.) It's fixed.
-
- - The command to move backward by words (ALT-CURSOR left) would skip
- a word if the was at the first of a line sometimes.
-
-
- Version 1.2
- -----------
-
- - The name is no longer editor.gadget. That name was too general,
- as Christoph Feck pointed out. The name textfield.gadget has
- been chosen as the new name since it more accurately describes
- the gadget's purpose. So that you will know how to convert, here
- is a list of files that have changed names that would affect
- development:
-
- doc/editor_gc.doc -> textfield_gc.doc
- doc/editor_gc.guide -> textfield_gc.guide
- fd/editor.fd -> textfield.fd
- gadgets/editor.gadget -> textfield.gadget
- include/gadgets/editor.h -> textfield.h
- include/pragmas/editor_pragmas.h -> textfield_pragmas.h
- include/proto/editor.h -> textfield.h
-
- Also, in your source code I think I've made it easy to change, but
- if you have problems, I'm very sorry. Here's how: use your text
- editor to replace all occurances of EDIT_ with TEXTFIELD_.
-
- - The text pen now defaults to TEXTPEN instead of SHADOWPEN.
-
- - The undo buffer is now cleared after you undo so that you don't
- accidentally undo the same thing multiple times. I should note
- that the undo function just drops the text at the current
- cursor position.
-
- - As per request of a few people, the TEXTFIELD_Down event now
- will not let the last line scroll to the top of the gadget, but
- rather it stops at the bottom, like when you cursor down.
-
- - There is no highlight or block mode anymore in the old sense
- of turning it on and off. You only need to click and drag
- to highlight text. Hitting any key replaces the highlighted
- text like normal, and hitting backspace or delete removes the
- highlighted text like normal. The cut, copy, and paste keys
- also work normally. The new features are that the right and
- down cursor keys unhighlight the text and take you to the
- end of the highlighted text. And the left and up cursor keys
- unhighlight the text and take you to the front of the
- highlighted text. (This new method can make scrolling with with
- the mouse pointer unfriendly, and you can accidentally delete
- text after scrolling by hitting a single key, but if an undo IFF
- stream is provided then the user can get the text back. I have
- asked many people whether they prefer single or double-click
- block modes and it has been about 50-50. This method conforms
- to modern thinking, from what I understand.)
-
- - A memory leak that occurred if the library was expunged has
- been fixed. It was usually about 4k.
-
- - TEXTFIELD_CursorPos now will scroll the text to the position the
- cursor is set to if needed.
-
-
- Version 1.1
- -----------
-
- - The EDIT_Text now works in all cases. It used to only work
- on creation and get methods.
-